namespace RPGLibrary.CharacterClasses
{
    public class EntityData
    {
        public string EntityName;

        public int Strength;
        public int Dexterity;
        public int Cunning;
        public int Willpower;
        public int Magic;
        public int Constitution;

        public string HealthFormula;
        public string StaminaFormula;
        public string MagicFormula;

        private EntityData()
        {

        }

        public EntityData(
            string entityName,
            int strength,
            int dexterity,
            int cunning,
            int willpower,
            int magic,
            int constitution,
            string health,
            string stamina,
            string mana)
        {
            EntityName = entityName;
            Strength = strength;
            Dexterity = dexterity;
            Cunning = cunning;
            Willpower = willpower;
            Magic = magic;
            Constitution = constitution;
            HealthFormula = health;
            StaminaFormula = stamina;
            MagicFormula = mana;
        }

        public override string ToString()
        {
            string toString = "Name =" + EntityName + ", ";
            toString += "Strength =" + Strength + ", ";
            toString += "Dexterity =" + Dexterity + ", ";
            toString += "Cunning =" + Cunning + ", ";
            toString += "Willpower =" + Willpower + ", ";
            toString += "Magic =" + Magic + ", ";
            toString += "Constitution =" + Constitution + ", ";
            toString += "Health Formula =" + HealthFormula + ", ";
            toString += "Stamina Formula =" + StaminaFormula + ", ";
            toString += "Magic Formula =" + MagicFormula + ", ";

            return toString;
        }

        public object Clone()
        {
            EntityData data = new EntityData();

            data.EntityName = EntityName;
            data.Strength = Strength;
            data.Dexterity = Dexterity;
            data.Cunning = Cunning;
            data.Willpower = Willpower;
            data.Magic = Magic;
            data.Constitution = Constitution;
            data.HealthFormula = HealthFormula;
            data.StaminaFormula = StaminaFormula;
            data.MagicFormula = MagicFormula;

            return data;
        }

    }
}